package com.tgy.MyFlowable.workflow.service;

import com.ctsi.workflow.dto.FlwHandleTaskDTO;

import java.util.Map;

/**
 * @version 1.0
 * @author: wang xiao xiang
 * @date: 2021/8/6 16:37
 */
public interface IFlwHandleTaskService {
    /**
     * 启动
     *
     * @param flwHandleTaskDTO 启动参数
     */
    void start(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 提交
     *
     * @param flwHandleTaskDTO 提交参数
     */
    void submit(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 保存
     *
     * @param flwHandleTaskDTO 保存参数
     */
    void save(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 退回
     *
     * @param flwHandleTaskDTO 退回参数
     */
    void back(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 转办
     *
     * @param flwHandleTaskDTO 转办参数
     */
    void turn(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 委托
     *
     * @param flwHandleTaskDTO 委托参数
     */
    void entrust(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 跳转
     *
     * @param flwHandleTaskDTO 跳转参数
     */
    void jump(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 终止
     *
     * @param flwHandleTaskDTO 终止参数
     */
    void end(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 挂起
     *
     * @param flwHandleTaskDTO 挂起参数
     */
    void suspend(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 加签
     *
     * @param flwHandleTaskDTO 加签参数
     */
    void addSign(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 减签
     *
     * @param flwHandleTaskDTO 减签参数
     */
    void delSign(FlwHandleTaskDTO flwHandleTaskDTO);

    /**
     * 获取任务数据
     *
     * @param flwHandleTaskDTO 获取参数
     * @return 任务数据
     */
    Map<String, Object> taskData(FlwHandleTaskDTO flwHandleTaskDTO);
}
